iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
DevOps

用K8s打造你的Youtube系列 第 12

RDS Aurora

  • 分享至 

  • xImage
  •  

快速統整一下,我們這14天已經將基礎部署的程式碼放到GitLab上,並由GitLab幫忙部署。他會自動幫我們建立EKS相關的服務。現在,我們要開始進行APP服務的設計。

首先,我們需要一個資料庫,這邊採用的是 RDS Aurora。

RDS是Amazon提供的 Paas服務,讓使用者可以使用雲端的關聯式資料庫。藉由RDS,你可以根據需求輕鬆擴展及調整容量

,有幾點要特別注意

  1. 我們引用 terraform的 aws modules

  2. name:這個rds的名稱

  3. engine:我們選用mysql,Aurora提供postgresql跟MySQL,選擇哪一種參考這邊:https://faq.postgresql.tw/postgresql-vs-mysql-vs-sql-server-vs-oracle

    MySQL目前還不支援8,我們用最新版:2.10.2

    Screen Shot 2022-09-25 at 6.12.32 PM.png

  4. db_parameter_group_name:參數組。因為RDS為Paas服務,我們無法控制OS層。藉由參數組,我們才可以做調整。

module "cluster" {
  source  = "terraform-aws-modules/rds-aurora/aws"

  name           = "test-aurora-db-postgres96"
  engine         = "aurora-mysql"
  engine_version = "5.7.mysql_aurora.2.10.2"
 
	instance_class = "db.r5.large"
  instances = {
    one = {}
  }

  autoscaling_enabled      = true
  autoscaling_min_capacity = 1
  autoscaling_max_capacity = 5

  vpc_id  = module.vpc.vpc_id
  subnets = module.vpc.private_subnets

  allowed_security_groups = ["sg-12345678"]
  allowed_cidr_blocks     = ["10.20.0.0/20"]

  storage_encrypted   = true
  apply_immediately   = true
  monitoring_interval = 10

  db_parameter_group_name         = "default.aurora-mysql5.7"
  db_cluster_parameter_group_name = "default.aurora-mysql5.7"

  enabled_cloudwatch_logs_exports = ["general"]

  tags = {
    Environment = "production"
    Terraform   = "true"
  }
}

在一個cluster中,有多個配置的方式可以用來建立instances

  1. Create homogenous cluster of any number of instances

    • Resources created:
    • Writer: 1
    • Reader(s): 2
    instance_class = "db.r6g.large"
      instances = {
        one   = {}
        two   = {}
        three = {}
      }
    
  2. 透過autoscaling建立同質的擴充cluster,至少一個writer是必須的

    1. 此資源會建立
      1. 1個writer
      2. Readers
        1. 至少一個
        2. 最多五個
    instance_class = "db.r6g.large"
      instances = {
        one = {}
      }
    
      autoscaling_enabled      = true
      autoscaling_min_capacity = 1
      autoscaling_max_capacity = 5
    

instance_class指定的機型會是擴展的機型

enabled_cloudwatch_logs_exports

要export到cloudwatch的log type。如果沒有設定,就不會export logs。有這些可以選擇**audit**, errorgeneralslowquerypostgresql

參考官網module:

https://registry.terraform.io/modules/terraform-aws-modules/rds-aurora/aws/latest


上一篇
監聽控管
下一篇
用 Terraform 部署 Aurora MySQL (AWS RDS)
系列文
用K8s打造你的Youtube13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言